import math

n = 2021041820210418
# 写找出所有质数
t = int(math.sqrt(n)) + 1
is_prime = [True] * t
primes = []
for i in range(2, t):
    if is_prime[i]:
        primes.append(i)
    for prime in primes:
        if i * prime >= t: break
        is_prime[i * prime] = False
        if i % prime == 0: break
yinzi = []
while n:
    status = True
    for prime in primes:
        if n % prime == 0:
            yinzi.append(prime)
            n //= prime
            status = False
            break
    if status:
        yinzi.append(n)
        break
print(yinzi)
